package com.ruoyi.generator.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.generator.domain.GeneratedRecords;
import jakarta.servlet.http.HttpServletResponse;

/**
 * 代码生产记录Service接口
 * 
 * @author ruoyi
 * @date 2024-12-26
 */
public interface IGeneratedRecordsService 
{

    /**
     * 查询代码生产记录
     * 
     * @param id 代码生产记录主键
     * @return 代码生产记录
     */
    public GeneratedRecords selectGeneratedRecordsById(Long id);

    /**
     * 查询代码生产记录列表
     * 
     * @param generatedRecords 代码生产记录
     * @return 代码生产记录集合
     */
    public List<GeneratedRecords> selectGeneratedRecordsList(GeneratedRecords generatedRecords);

    /**
     * 新增代码生产记录
     * 
     * @param generatedRecords 代码生产记录
     * @return 结果
     */
    public int insertGeneratedRecords(GeneratedRecords generatedRecords);

    /**
     * 修改代码生产记录
     * 
     * @param generatedRecords 代码生产记录
     * @return 结果
     */
    public int updateGeneratedRecords(GeneratedRecords generatedRecords);

    /**
     * 批量删除代码生产记录
     * 
     * @param ids 需要删除的代码生产记录主键集合
     * @return 结果
     */
    public int deleteGeneratedRecordsByIds(Long[] ids);

    /**
     * 删除代码生产记录信息
     * 
     * @param id 代码生产记录主键
     * @return 结果
     */
    public int deleteGeneratedRecordsById(Long id);


    /**
     * 提交测试
     * @param generatedRecords
     * @return
     */
    int testGeneratedRecords(GeneratedRecords generatedRecords);

    /**
     * 提交审核
     * @param id
     * @return
     */
    int toExamine(Long id);

    /**
     * 审核通过
     * @param id
     * @return
     */
    int examineSuccess(Long id);

    /**
     * 驳回提交
     * @param id
     * @return
     */
    int toReject(Long id,String message);


    AjaxResult check(GeneratedRecords generatedRecords);

    byte[] generatorCode(String[] split,Long id, String model);
}
